package humanMirror.model.advisor;

import humanMirror.model.analyzer.*;
import humanMirror.model.human.Human;



public abstract class Advisor {

    protected OrganAnalyzer analyzer;
    protected Human pokemon;
    private Consultation consultation;

    public Advisor(Human pokemon) {
        this.pokemon = pokemon;
        consultation = new Consultation("I am abstract doctor");
    }

    public void setAnalyzer(OrganAnalyzer analyzer) {
        this.analyzer = analyzer;
    }

    public Consultation getConsultation() throws CloneNotSupportedException {
        return (Consultation) consultation.clone();
    }

    public void setPokemon(Human pokemon) {
        this.pokemon = pokemon;
    }

    public void viewOrgan() throws CloneNotSupportedException {
        consultation = analyzer.work(pokemon);
    }
}